Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Робота із процесами в ОС Windows

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Звіт
Предмет:
Операційні системи
Група:
ПІ

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" Інститут КНІТ Кафедра ПЗ ЗВІТ До лабораторної роботи № 2 На тему: “ Робота із процесами в ОС Windows ” З дисципліни : " Операційн системи" Лектор: Доц. каф. ПЗ Яковина В.С. Львів – 2008 Мета роботи: Ознайомитися із реалізацією багатозадачності у сіместві операційних систем MicroSoft на прикладі Windows NT5 (ядро 5.X). Освоїти роботу із процесами і методами створення їх. Теоретичні відомості Процес зазвичай визначають як екземпляр виконуваної програми. Але це неправельне визначення. Оскільки програма це є набір процесорних команд, тоді як процесом називається саме виконання цього програмного коду. Екземпляр виконуваної програми складається із двох компонентів: об'єкту ядра, через який операційна система керує процесом. Там же зберігається статистична інформація про процес; адресний простір, в якому міститься код і дані усіх EXE і DLL модулів. Саме в ньому знаходяться область пам'яті, що динамічно розподіляється для стеків потоків та інших потреб. Процеси інертні. Щоб процес виконав певну операцію, в ньому потрібно створити потік. Саме потоки відповідаю за виконання коди, що міститься в адресному просторі процесу. В принципі, один процес може володіти декількома потоками, і тоді вони "одночасно" виконують код в адресному просторі процесу. Для цього кожен потік повинен мати в своєму розпорядженні власний набір регістрів процесора і власний стек. У кожному процесі є мінімум один потік. Якби у процесу не було жодного потоку, система автоматично знищила б його разом з виділеним йому адресним простором. Щоб усі ці потоки працювали, операційна система відводить кожному з них певний процесорний час. Виділяючи потокам відрізки часу (звані квантами) за принципом каруселі, вона створює тим самим ілюзію одночасного виконання потоків. Рис 2.1. ілюструє розподіл процесорного часу між потоками на машині з одним процесором. Якщо в машині встановлено більш за один процесор, алгоритм роботи операційної системи значно ускладнюється (в цьому випадку система прагне збалансувати навантаження між процесорами).  Рис.2.1. Операційна система виділяє потокам кванти часу за принципом каруселі При створенні процесу перший (точніше, первинний) потік створюється системою автоматично. Далі цей потік може породити інші потоки, ті у свою чергу — нові і так далі. Індивідуальне завдання Написати програму створення додаткового потоку для програми calc.exe. показати в результатах виконання деревовидну структуру залежності новоствореного процеса від батьківського процесу. Код програми Назва файлу: Lab02.cpp // Lab02.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "windows.h" #include "iostream" bool LaunchExe(LPCTSTR szExe); int _tmain(int argc, _TCHAR* argv[]) { LaunchExe(_T("c:\\windows\\system32\\calc.exe")); return 0; } bool LaunchExe(LPCTSTR szExe) { STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); if( !CreateProcess(szExe, NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi ) ) { MessageBox(NULL,_T( "CreateProcess failed." ),_T("Result"),MB_OK); return FALSE; } WaitForSingleObject( pi.hProcess, INFINITE ); CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); return TRUE; } Результат виконання Результатом виконання програми є створення нового процесу для програми: %windir%\system32\calc.exe На рис. 2. представлено результати виконання програми. Також деревовидну структуру запуску процесу.  Рис. 2. Результат виконання програми Висновок На лабораторній роботі було розглянуто та досліджено: виконання, створення, і породження процесів, ознайомились із підходами програмування на рівні ядра створення процесу і порівняли із стандартним підходом виклику інших програм. Порівняли переваги і недоліки використання двох методів. Також було виконано індивідуальне завдання, і за допомогою додатково ПЗ досліджено новостворений процес в ОС, його пара...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини